package com.ms.orm.constants;

/**
 * @author .
 */

public enum IdType {
    /**
        使用数据库机制生成主键
     */
    AUTO(0),
    /**
     * 不生成主键
     */
    NONE(1),

    /**
     * 用户输入ID
     * <p>该类型可以通过自己注册自动填充插件进行填充</p>
     */
    INPUT(2),

    /* 以下3种类型、只有当插入对象ID 为空，才自动填充。 */
    /**
     * 分配ID (主键类型为number或string）,
     * 默认实现类 DefaultIdentifierGenerator}(雪花算法)(待实现)
     *
     */
    ASSIGN_ID(3),
    /**
     * 分配UUID (主键类型为 string)
     * 默认实现类 DefaultIdentifierGenerator}(UUID.replace("-","")) （待实现）
     */
    ASSIGN_UUID(4);

    private final int key;

    private IdType(int key) {
        this.key = key;
    }

    public int getKey() {
        return this.key;
    }
}